package redis


import (
	"fmt"
	"github.com/garyburd/redigo/redis"
	redisDb "ppa/config/redis"
)

var Db redis.Conn

func Init(config redisDb.Config) {
	db := &redis.Pool{
		MaxIdle:     8,   // 最大空闲连接数
		MaxActive:   0,   // 和数据库的最大连接数，0 表示没有限制
		IdleTimeout: 100, // 最大空闲时间
		Dial: func() (redis.Conn, error) { // 初始化连接的代码
			return redis.Dial("tcp", fmt.Sprintf("%s:%s",config.Host,config.Port))
		},
	}
	Db = db.Get()
	defer func(Db redis.Conn) {
		err := Db.Close()
		if err != nil {

		}
	}(Db)
}

func GetRedis(model string, key string) (string, error) {
	return redis.String(Db.Do(model, key))
}
func SetRedis(model string, key ...string) (interface{}, error) {
	return Db.Do(model, key)
}

